package busquedasciegas;

import java.util.ArrayList;
import java.util.Random;

public class Aleatorio {
	
	Random r;
	
	public Aleatorio()
	{
		r = new Random();
	}
	
	/**
	 * 
	 * @return Un entero aleatorio entre 0 y numMaximo.
	 */
	public int entero(int numMaximo){
		//r.setSeed(new Date().getTime());
		return r.nextInt(numMaximo);
	}
	
	/**
	 * Dada una lista de enteros, este método retorna dicha lista en un orden
	 * distinto, determinado aleatoriamente.
	 * @param Una lista de números enteros.
	 * @return La lista de enteros entregada en un orden distinto
	 * (aleatorio).
	 */
	public ArrayList<Integer> aleatoria(ArrayList<Integer> lista){
		ArrayList<Integer> viejaLista = lista;
		ArrayList<Integer> nuevaLista = new ArrayList<Integer>();
		int numMax = lista.size();
		int num = entero(numMax);
		while (viejaLista.size() != 0){
			if (!nuevaLista.contains(num)){
				nuevaLista.add(num);
				viejaLista.remove(viejaLista.indexOf(num));
			}
			num = entero(numMax);
		}
		return nuevaLista;	
		
	}
	
}
